home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
User's Choice Windows CD
/
User's Choice Windows CD (CMS Software)(1993).iso
/
utility3
/
jfklib.zip
/
MDI.HPP
< prev
next >
Wrap
C/C++ Source or Header
|
1991-05-11
|
4KB
|
143 lines
/*
MDI.HPP - (C) 1990 by Joachim Kainz 'On a mission from Bhudda'
*/
#if !defined (__MDI_HPP)
#define __MDI_HPP 1
#include "toplevel.hpp"
#define JFK_MDI (JFK_WINDOW+1 )
#define JFK_MDICHILD (JFK_WINDOW+2 )
// The following ID of the first child-window created.
// To avoid contacts all menu-IDs must be less than this value.
#define ID_MDICHILD ((WORD) 0xff00)
#define WS_MDICLIENT (WS_CHILD | WS_CLIPCHILDREN | WS_VSCROLL | WS_HSCROLL)
class MDICHILD : public WINDOW {
protected:
virtual METHOD WMMove (POINT pt );
virtual METHOD WMClose ( );
virtual METHOD WMGetMinMaxInfo (LPRECT lprt);
virtual METHOD WMSetText (LPSTR lpText);
virtual METHOD WMInitDialog (DWORD dwParam ) DEFMETH
virtual METHOD WMCommand (WORD wID, WORD wMsg, HWND hCtl) DEFMETH
virtual METHOD WMSysCommand (WORD wID, POINT pt );
virtual METHOD WMTimer (WORD wID, FARPROC ) DEFMETH
virtual METHOD WMHScroll (WORD wScrollCode, HWND hCtl ) DEFMETH
virtual METHOD WMVScroll (WORD wScrollCode, HWND hCtl ) DEFMETH
virtual METHOD WMInitMenu (HMENU hMenu ) DEFMETH
virtual METHOD WMInitMenuPopUp (
HMENU hPopUp,
WORD wIndex,
BOOL
bSystem
) DEFMETH
virtual METHOD WMMenuSelect (WORD wMenu, WORD wFlag );
virtual METHOD WMMenuChar (WORD wKey, HMENU hMenu, WORD wMenu);
virtual METHOD WMEnterIdle (WORD wPrevious, HANDLE hPrevious ) DEFMETH
virtual METHOD WMParentNotify (
WORD wID,
WORD wMsg,
WORD wCtl
) DEFMETH
virtual METHOD WMChildActivate ( );
virtual METHOD WMMDIActivate (WORD wActive, HWND hOld, HWND hNew ) DEFMETH
virtual METHOD WMSetFocus (HWND hLast );
virtual METHOD WMSize (
WORD wSizing,
int nWidth,
int nHeigth
);
virtual METHOD WndMdiProc (WORD wMsg, WORD wParam, long lParam);
virtual METHOD WndDlgProc (WORD wMsg, WORD wParam, long lParam);
public:
EXPORT MDICHILD (
LPSTR lpName,
HICON hIcon = LoadIcon (NULL, IDI_QUESTION),
int x = 100,
int y = 100,
int cx = 250,
int cy = 100,
long lStyle = NULL,
long lParam = NULL,
LPSTR lpClass = MAKEINTRESOURCE (JFK_MDICHILD)
);
};
class MDI : public TOPLEVEL {
protected:
static HWND hMDIClient;
virtual METHOD WMQueryEndSession ();
virtual METHOD WMClose ();
virtual METHOD WMDestroy ();
virtual METHOD WMCommand (WORD wID, WORD wMsg, HWND hCtl );
virtual METHOD WMSysCommand (WORD wID, POINT pt );
virtual METHOD WMMenuChar (WORD wKey, HMENU hMenu, WORD wMenu);
virtual METHOD WMMenuSelect (WORD wMenu, WORD wFlag );
virtual METHOD WMSetFocus (HWND hLast );
virtual METHOD WMSize (
WORD wSizing,
int nWidth,
int nHeigth
);
static HWND EXPORT GetMDIClient () { return hMDIClient; }
friend class MIDCHILD;
HMENU EXPORT MDISetMenu (
HMENU hNewAppMenu = NULL,
HMENU hNewPopUp = NULL
);
HWND EXPORT GetNextChild (HWND hChild = NULL);
long EXPORT SendAllChildren(
WORD wMsg,
WORD wParam = NULL,
long lParam = NULL,
BOOL bBreakOnFalse = FALSE
);
public:
EXPORT MDI (
int nCmdShow = SW_NORMAL,
int x = CW_USEDEFAULT,
int y = CW_USEDEFAULT,
int cx = CW_USEDEFAULT,
int cy = CW_USEDEFAULT,
long lStyle = WS_OVERLAPPEDWINDOW | WS_CLIPCHILDREN,
LPSTR lpName = MAKEINTRESOURCE (ID_APPNAME),
LPSTR lpMenu = MAKEINTRESOURCE (ID_APPNAME),
long lExStyle = NULL,
WORD wStyle = CS_VREDRAW | CS_HREDRAW,
HCURSOR hCursor = LoadCursor (NULL, IDC_ARROW),
HICON hIcon = LoadIcon (
GetInstance (),
MAKEINTRESOURCE (ID_APPNAME)
),
HBRUSH hBackGrnd = COLOR_APPWORKSPACE+1,
WORD wClsExtra = 0,
WORD wWndExtra = 0,
LPSTR lpParam = NULL,
LPSTR lpClass = MAKEINTRESOURCE (JFK_MDI),
FARPROC2 lpFnProc = DefWindowProc
);
};
#endif